package com.wlyuan.open.scanner.repository;

import com.wlyuan.open.scanner.domain.transport.relation.WayBill;

import java.util.List;

/**
 * @author lijing
 * @description
 */
public interface WayBillRepository {

    /**
     * 根据上游运单获取运单关系数据
     *
     * @param id
     * @return
     */
    WayBill getByUp(Long id);

    /**
     * 根据上游运单获取运单关系数据
     *
     * @param id
     * @return
     */
    WayBill getByDown(Long id);

    /**
     * 获取运单关系数据
     *
     * @param pageNum
     * @return
     */
    List<WayBill> list(Integer pageNum);

    List<WayBill> list(Integer pageNum, Long tenantId);

    /**
     * 保存
     *
     * @param orderId
     * @param tenantId
     * @param srcOrderId
     * @param srcClass
     */
    void save(Long orderId, Long tenantId, Long srcOrderId, Long srcClass);

    /**
     * 数量
     *
     * @return
     */
    Integer count();

    /**
     * 数量
     *
     * @param tenantId
     * @return
     */
    Integer count(Long tenantId);

    void init();

    List<Long> getByTime(String startTime, String endTime);

    List<Long> getByTenantIdTime(Long tenantId, String startTime, String endTime);

    void initTime(String startTime, String endTime);
}
